import { exec } from 'child_process'
import inquirer from 'inquirer'
import minimist from 'minimist'

// npm run build -- -projectName 场所信息管理平台 -isGov false
const args = minimist(process.argv.slice(2))
console.log(args)

// 如果有命令行参数，则使用命令行参数
if (args.projectName) {
  process.env.BUILD_ENV = args.isGov === 'true' ? 'gov' : 'prod'
  process.env.VUE_APP_PROJECT_NAME = args.projectName
  const command = `set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service build`
  console.log('正在打包中...')
  exec(command, (err, stdout, stderr) => {
    if (err) {
      console.error(err)
      return
    }
    console.log('打包完成')
  })
} else {
  inquirer
    .prompt([
      {
        type: 'list',
        name: 'projectName',
        message: '选择打包后项目名称',
        choices: [
          '治综系统互联网信息平台',
          '场所信息管理平台',
          '精神障碍患者动态管控服务平台',
          '重点关爱+智慧预警平台',
          '汉中公安关爱+信息管理预警平台',
        ],
      },
      {
        type: 'confirm',
        name: 'isGov',
        message: '是否电子政务外网？',
        default: false,
      },
    ])
    .then((answers) => {
      console.log(answers)
      console.log('正在打包中...')
      process.env.BUILD_ENV = answers.isGov ? 'gov' : 'prod'
      process.env.VUE_APP_PROJECT_NAME = answers.projectName
      const command = `set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service build`
      exec(command, (err, stdout, stderr) => {
        if (err) {
          console.error(err)
          return
        }
        console.log('打包完成')
      })
    })
}
